package com.quectel.pay.module.order.dto;

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 订单
 *
 * @author ryan
 * @date 2021-01-27 14:10:55
 */
@Data
public class PayOrderDto implements Serializable {

    /**
     * id
     */
    private Long id;

    /**
     * 租户id
     */
    private Long tenantId;
    /**
     * 小区id
     */
    private Long villageId;

    /**
     * 支付通道id
     */
    private Long payChannelId;
    /**
     * 1支付宝 2微信3小程序
     */
    private Byte payType;
    /**
     * 1 jsapi 2 app
     */
    private Byte terminalType;
    /**
     * 1Android2iOS
     */
    private Byte mobileType;
    /**
     * 业务类型 比如：PropertyFee
     */
    private String businessType;
    /**
     * 业务id
     */
    private Long businessId;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 产品名
     */
    private String productName;
    /**
     * 商户订单号
     */
    private String outTradeNo;
    /**
     * 订单流水号
     */
    private String tradeNo;
    /**
     * 原价
     */
    private BigDecimal originalPrice;
    /**
     * 优惠价(即实际支付金额)
     */
    private BigDecimal specialPrice;
    /**
     * 退款的总金额
     */
    private BigDecimal totalRefundFee;
    /**
     * 支付时间
     */
    private Date payTime;
    /**
     * 支付状态 -1取消支付 0初始化 1 支付成功
     */
    private Byte status;
    /**
     * 微信JSAPI必传
     */
    private String openId;
    /**
     * 有些支付为必须参数
     */
    private String ipAddress;
    /**
     * 支付成功回调地址
     */
    private String notifyUrl;
    /**
     * 支付成功回调地址
     */
    private String refundNotifyUrl;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 备注
     */
    private String remark;
    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 重新支付的值
     */
    private String redoValue;

    /************非数据库字段 start ************/
    /**
     * 小区名称
     */
    private String villageName;
    /**
     * 退款订单
     */
    private List<PayOrderRefundDto> payOrderRefunds;

    /************非数据库字段 end **************/
}
